#define  _CRT_SECURE_NO_WARNINGS 1
//#include <stdlib.h>
//int main()
//{
//	int n = 0;
//	int m = 0;
//	scanf("%d %d", &n, &m);
//	int* pn = (int*)malloc(n * sizeof(int));
//	int* pm = (int*)malloc(m * sizeof(int));
//	int* pk = (int*)malloc(m  * sizeof(int)+n*sizeof(int));
//	int i = 0;
//	for (i = 0; i < n; i++)
//	{
//		scanf("%d", &pn[i]);
//	}
//	for (i = 0; i < m; i++)
//	{
//		scanf("%d", &pm[i]);
//	}
//	free(pn);
//	free(pm);
//	free(pk);
//	pn = NULL;
//	pm = NULL;
//	pk = NULL;
//	return 0;
//}
// 

//#include <assert.h>
//char* my_strcpy(char* dest, const char* sour)
//{
//	assert(dest && sour);
//	char* ret = dest;
//	while (*dest++ = *sour++);
//	return ret;
//}
//
//int main()
//{
//	char arr1[] = "hello world";
//	char arr2[20] = { 0 };
//	printf("%s", my_strcpy(arr2, arr1));
//	return 0;
//}


//#include <assert.h>
//
//int my_strlen(const char* str)
//{
//	assert(str);
//	int count = 0;
//	while (*str++)
//		count++;
//	return count;
//}
//
//int main()
//{
//	char str[] = "hello world";
//	printf("%d", my_strlen(str));
//	return 0;
//}

#include "slist.h"

void test1()
{
	SL* list = NULL;
	SListPushBcak(&list, 1);
	SListPushBcak(&list, 2);
	SListPushBcak(&list, 3);
	SListPushFront(&list, 7);
	SListPushFront(&list, 6);
	SListPushFront(&list, 5);
	SListPrint(&list);
	SListPopFront(&list);
	SListPopFront(&list);
	SListPrint(&list);
	SListPopBack(&list);
	SListPopBack(&list);
	SListPrint(&list);
}

void test2()
{
	SL* list = NULL;
	SListPushBcak(&list, 1);
	SListPushBcak(&list, 2);
	SListPushBcak(&list, 3);
	SL* pn = SListFind(&list, 1);
	if (pn)
	{
		SListInsert(&list, pn, 0);
	}
	SListPrint(&list);

}

int main()
{
	//test1();
	test2();
	return 0;
}